package cn.seaboot.admin.images.bean;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.Size;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * POJO
 * 图片 [t_image_source]
 * <p>
 *
 * @author ChenSS on  2019-03-25 11:40
 */
@Schema(description = "图片 [t_image_source] 实体类")
public class SysImage implements Serializable {
    private static final long serialVersionUID = 5348582845116414116L;

    /**
     * ID
     */
    @Schema(description = "ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;
    /**
     * 用户归属ID
     */
    @NotNull
    @Schema(description = "用户归属ID")
    private String userId;
    /**
     * 文件存储路径
     */
    @NotNull
    @Size(max = 48)
    @Schema(description = "相对路径")
    private String imagePath;
    /**
     * 原名
     */
    @NotNull
    @Size(max = 32)
    @Schema(description = "原名")
    private String imageName;
    /**
     * 文件类型
     */
    @NotNull
    @Schema(description = "文件类型")
    private Integer imageType;

    @NotNull
    @Schema(description = "是否锁定")
    private Boolean isLock;
    /**
     * 创建日期
     */
    @NotNull
    @Schema(description = "创建日期")
    private LocalDateTime gmtCreate;
    /**
     * 创建日期
     */
    @NotNull
    @Schema(description = "修改日期")
    private LocalDateTime gmtModified;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Integer getImageType() {
        return imageType;
    }

    public void setImageType(Integer imageType) {
        this.imageType = imageType;
    }

    public String getImageName() {
        return imageName;
    }

    public void setImageName(String imageName) {
        this.imageName = imageName;
    }

    public String getImagePath() {
        return imagePath;
    }

    public void setImagePath(String imagePath) {
        this.imagePath = imagePath;
    }

    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Boolean getLock() {
        return isLock;
    }

    public void setLock(Boolean lock) {
        isLock = lock;
    }

    @Override
    public String toString() {
        return "SysImage{" +
                "id='" + id + '\'' +
                ", userId='" + userId + '\'' +
                ", imagePath='" + imagePath + '\'' +
                ", imageName='" + imageName + '\'' +
                ", imageType=" + imageType +
                ", isLock=" + isLock +
                ", gmtCreate=" + gmtCreate +
                ", gmtModified=" + gmtModified +
                '}';
    }
}
